listview: Avoid a critical when reordering
authorMatthias Clasen <mclasen@redhat.com>
Thu, 24 Sep 2020 02:53:21 +0000 (22:53 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 24 Sep 2020 02:53:21 +0000 (22:53 -0400)
When sorting a cell into the place its already at,
we were triggering criticals. Avoid that.

Fixes: #3180
gtk/gtklistitemwidget.c

index 5c57d1b257ef2de68f3f60481f33591e0c7bce19..ce4f5050393e245a77f40ad7c87fa280e68d6aae 100644 (file)
@@ -629,10 +629,13 @@ gtk_list_item_widget_reorder_child (GtkListItemWidget *self,
         }
     }
 
-  gtk_widget_insert_after (child, widget, sibling);
-  gtk_css_node_insert_after (gtk_widget_get_css_node (widget),
-                             gtk_widget_get_css_node (child),
-                             sibling ? gtk_widget_get_css_node (sibling) : NULL);
+  if (child != sibling)
+    {
+      gtk_widget_insert_after (child, widget, sibling);
+      gtk_css_node_insert_after (gtk_widget_get_css_node (widget),
+                                 gtk_widget_get_css_node (child),
+                                 sibling ? gtk_widget_get_css_node (sibling) : NULL);
+    }
 }
 
 void